/*
day344 
2020.8.6 
*/
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
 

class Solution {
public:
    int threeSumClosest(vector<int>& nums, int target) {
		int res=0,dif=INT_MAX;
		int l=0,r=0;
		sort(nums.begin(),nums.end());
		
		for(int i=0;i<nums.size();++i)
		{
			l=i+1,r=nums.size()-1;
			while(l<r)
			{
				int tem=nums[i]+nums[l]+nums[r];
				int tem_dif=abs(target-tem);
				if(tem==target)
				{
					return tem;
				}
				if(tem_dif<dif)
				{
					res=tem;
					dif=tem_dif;
				}
				
				if(target-tem>0)
				{
					l++;
				}
				else
				{
					r--;
				}
			}
		}
		
		return res;
    }
};

int main()
{
	return 0;
}
